//用户关注小程序默认进入页面

Page({
  data:{
    userInfo: {},
    //控制getUserInfo button显隐
    hasNotUserInfo: true,
    //控制getUserPhone button显隐
    hasUserPhoneNum: false,
    canIUseGetUserProfile: false,
    openid:'',
    session_key:'',
    userPhoneObj:{}
  },

  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }else{
      wx.showToast({
        title: '请升级版本',
      })
    }
  },
  //用户登录验证
  getUserProfile(e) {
    let self = this
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        // console.log(res) 获取用户信息成功！
    
        wx.login({
          success:async result => {
            console.log(result);
            //向后台发起code获取openid,session_key
            const openidObj = await self.requestUserOpenid(result)
            console.log(openidObj);
            this.setData({
                userInfo: res.userInfo,
                hasNotUserInfo: false,
                hasUserPhoneNum: true,
                openid:openidObj.data.data.openid,
                session_key:openidObj.data.data.session_key
            })
          }
        })
      },
      fail: err => {
        wx.showToast({
          title: '登录后方可充电',
          icon: 'loading',
          duration: 2500
        })
      }
    })
  },

  //获取用户openid方法
  requestUserOpenid(obj){
    return new Promise((resolve ,reject) =>{
      wx.request({
        url: 'https://dev.housent.cn/charging/mina/user/get/openid',
        method:'POST',
        data:{
          code: obj.code
        },
        header: {
          'content-type': 'application/json' // 默认值，这里看后端需要什么header进行更改即可
          },
        success: result => {
          resolve(result)
        },
        fail: err => {
          reject(err)
        }
      })
    })
  },

  //获取用户手机号
  getPhoneNumber(e){
    if(e.detail.encryptedData){
      this.setData({
        userPhoneObj:e.detail,
        hasUserPhoneNum:false
      })
      //成功获取用户手机号后调起scan接口
      wx.scanCode({
        success: res => {
          console.log(res)
        }
      })
    }
  }

})